package easybooking;

import java.util.*;
import easybooking.data.Airline; 
import easybooking.data.Airport; 
import easybooking.data.Booking; 
import easybooking.data.Customer; 
import easybooking.data.Flight; 
import easybooking.data.Plane; 
import easybooking.data.Seat; 
import easybooking.data.Type; 
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList; 

// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.4210965A-A7A7-F3FA-E692-6F9BF8B0DAED]
// </editor-fold> 
public interface FlightManagement extends Remote{

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.B2B25A9F-7991-8AD7-49C4-F3FE95000ADF]
    // </editor-fold> 
    public Customer createCustomer (String firstname, String lastname, String street, String city, int zip) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E334B128-22C6-56D1-E02B-8BEA51B1F542]
    // </editor-fold> 
    public void deactivate (Customer c) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.63B7F040-E43F-EE00-6033-301F0672F679]
    // </editor-fold> 
    public void save (Customer c) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.EF6D0FCC-C24B-AD9E-DDD9-97FB28DDB91B]
    // </editor-fold> 
    public void save (Airline airl) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.FD4FB4A0-D0EB-92DC-EC69-E8068E512443]
    // </editor-fold> 
    public void save (Airport airp) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.62AF2B69-6B7B-EAA5-4605-DA885F2847C2]
    // </editor-fold> 
    public void save (Booking b) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.3F26D5D3-BCDF-17F5-9B0B-4FBF7D38711A]
    // </editor-fold> 
    public void save (Flight f) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.7A27506F-5842-279B-FAAB-451A31DAB28A]
    // </editor-fold> 
    public void save (Plane p) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.EA74AD7D-181F-F454-8171-A2F38962DC03]
    // </editor-fold> 
    public void save (Seat s) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.DE5233C6-CF69-3610-B855-A5C363F7A8CC]
    // </editor-fold> 
    public void save (Type t) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.B5AC1496-CEB0-4B72-23E6-571F3CC4AABE]
    // </editor-fold> 
    public ArrayList<Customer> getAllCustomers () throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.DE5F1405-E641-5033-C75B-DB92DE7B03DC]
    // </editor-fold> 
    public Vector<Airline> getAllAirlines () throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.FDFE5305-2AB7-6203-4E2D-E92365E558D4]
    // </editor-fold>
    // Testting
    public Vector<Airport> getAllAirports () throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.1CA61602-6778-23C6-D053-8048D8D5693B]
    // </editor-fold> 
    public ArrayList<Booking> getAllBookings () throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.48BC2009-1E54-8993-DC7C-701D69416679]
    // </editor-fold> 
    public ArrayList<Flight> getAllFlights () throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.02131326-45F6-8944-81C7-D4B464032E8E]
    // </editor-fold> 
    public ArrayList<Plane> getAllPlanes () throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.1BADAA07-0C10-DE77-641C-83B3E4EC7698]
    // </editor-fold> 
    public ArrayList<Seat> getAllSeats () throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.69B4D2CF-8B50-E272-2FEF-00E694627CDF]
    // </editor-fold> 
    public ArrayList<Type> getAllTypes () throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.22A7F518-CD96-926A-7EFF-43E457FD0596]
    // </editor-fold> 
    public Airline createAirline (String name, String initials) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.9F4E7612-DEF1-25BD-72B7-FEBB3389563F]
    // </editor-fold> 
    public Airport createAirport (String name, String initials, String city) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.D2A35613-3D1E-D059-9AE7-87D7A0A71C6E]
    // </editor-fold> 
    public Booking createBooking (Date dateTime, int customerId, int flightId, int seatId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.1B3B51CF-F6E0-AAFD-2D66-661C3A613A5F]
    // </editor-fold> 
    public Flight createFlight (Date dateTime, int planeId, int startAirportId, int stopAirportId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.BFEA9129-9A63-0993-D5B9-65D1A874052A]
    // </editor-fold> 
    public Plane createPlane (int typeId, int airlineId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.5429A277-7874-8407-5276-4677D2D8240D]
    // </editor-fold> 
    public Seat createSeat (String row, int seat, int typeId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.5DFD0D0C-011A-7259-A85B-3A87CFED6761]
    // </editor-fold> 
    public Type createType (String name, int seatsTotal, int rows, int colums) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.ACC2B3F6-7A51-E9F5-42E1-475873C68682]
    // </editor-fold> 
    public void deactivate (Airline airl) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.321579EC-8246-52C6-0D75-86E0E812F572]
    // </editor-fold> 
    public void deactivate (Airport airp) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.EEBB9EE1-F6A9-4354-CEEF-983876E32E61]
    // </editor-fold> 
    public void deactivate (Booking b) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.9C7F7DD5-F822-C308-8ED4-17C5F664211A]
    // </editor-fold> 
    public void deactivate (Flight f) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.3EAB6BCF-6D53-4B11-8ACF-35C07209ED62]
    // </editor-fold> 
    public void deactivate (Plane p) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.BD4D82B2-3A4E-2458-3635-334F33AF1246]
    // </editor-fold> 
    public void deactivate (Seat s) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.C0740E8E-C7F3-F720-60D7-3ABFD969CFE6]
    // </editor-fold> 
    public void deactivate (Type t) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6CE83A9A-D87D-CD3E-4331-22EB3C07763F]
    // </editor-fold> 
    public Customer getCustomerByKey (int id) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.2FDD71CB-1316-CCBE-7A56-A6E5EA74D3BC]
    // </editor-fold> 
    public ArrayList<Customer> getCustomerByName (String lastname) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.69B895D6-65AF-61A3-E9C0-15F6EFFE1D2A]
    // </editor-fold> 
    public ArrayList<Flight> getAllFlightsOfCustomer (Customer c) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.1ED282FC-A6A0-62BB-3919-FC761E9F3E71]
    // </editor-fold> 
    public ArrayList<Booking> getBookingsOfCustomer (Customer c) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.4549E4DE-963A-133B-8AD8-429BBDF3259E]
    // </editor-fold> 
    public ArrayList<Booking> findBookingByDateTime (Date dateTime) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E81811A3-F25A-FA42-34B5-DB03CA283802]
    // </editor-fold> 
    public ArrayList<Booking> findBookingByCustomerId (int id) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.1AE7912C-92D1-1802-BCAF-2736CF347603]
    // </editor-fold> 
    public ArrayList<Booking> findBookingByKey (int id) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.87185CB6-A246-66C9-6CF4-38577BEFDABA]
    // </editor-fold> 
    public Flight findFlightByKey (int id) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E27FFC00-7F34-1224-1CC9-4EFB97A7E753]
    // </editor-fold> 
    public ArrayList<Flight> findFlightByDateTime (Date dateTime) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E85975C2-D8D2-2499-4494-73B9A7620D11]
    // </editor-fold> 
    public ArrayList<Flight> findFlightByPlane (Plane p) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.F73DA4A1-DD5B-9CEE-E86F-8A686C2857EA]
    // </editor-fold> 
    public ArrayList<Flight> findFlightByStartAirport (Airport a) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.7911E0B5-BBE0-3ADB-B267-936A37222CDB]
    // </editor-fold> 
    public ArrayList<Flight> findFlightByStopAirport (Airport a) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.CB486995-DBD4-B40C-50E8-BE989F79849F]
    // </editor-fold> 
    public Plane findPlaneByKey (int planeId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.83098BC6-0A1D-A116-664E-636640496C49]
    // </editor-fold> 
    public ArrayList<Plane> findPlaneByType (Type t) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.8ACA33F6-ED1D-34A1-C5AC-B2A56D9AA5ED]
    // </editor-fold> 
    public ArrayList<Plane> findPlaneByAirline (Airline a) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.052177AB-B2FA-821A-68B7-F511898E36E8]
    // </editor-fold> 
    public Seat findSeatByKey (int seatId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6993AD16-C823-316D-E6C0-2A053822706F]
    // </editor-fold> 
    public Type findTypeByKey (int typeId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.41DB074A-6AB8-0E5B-26E9-084C13E93AC1]
    // </editor-fold> 
    public ArrayList<Type> findTypeByName (String name) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.9F471AB5-5F2C-959B-0DDD-E6CD7D8F8B5B]
    // </editor-fold> 
    public ArrayList<Type> findTypeBySeatsTotal (int seatsTotal) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.29E27DB2-465D-DDC0-5D5B-8FBD0F98BACD]
    // </editor-fold> 
    public ArrayList<Airline> findAirlineByName (String name) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.6E319FD4-0486-22ED-581D-77355EC4435E]
    // </editor-fold> 
    public ArrayList<Airline> findAirlineByInitials (String initials) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.93B119EE-B1A5-D0CC-2157-31244B00298C]
    // </editor-fold> 
    public Airline findAirlineByKey (int airlineId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.DEA78662-A43D-A780-A7D1-34755233FDE8]
    // </editor-fold> 
    public Airport findAirportByKey (int airportId) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.4E3AC388-0288-E68B-BE89-A2BB97A2FB6B]
    // </editor-fold> 
    public ArrayList<Airport> findAirportByName (String name) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.EE776DA6-CECB-7F60-1BEB-7DB73C28F783]
    // </editor-fold> 
    public ArrayList<Airport> findAirportByInitials (String initials) throws RemoteException;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.DA5AA510-C9A0-65B8-125B-98AB1D122335]
    // </editor-fold> 
    public ArrayList<Airport> findAirportByCity (String city) throws RemoteException;

}

